Mechanizing Proofs with Logical Relations – Kripke-style

نویسندگان

  • Andrew Cave
  • Brigitte Pientka
چکیده

Proofs with logical relations play a key role to establish rich properties such as normalization or contextual equivalence. They are also challenging to mechanize. In this paper, we describe two case studies using the proof environment Beluga: first, we explain the mechanization of the weak normalization proof for the simply-typed lambda-calculus; second, we outline how to mechanize the completeness proof of algorithmic equality for simply typed lambda-terms where we reason about logically equivalent terms. The development of these proofs in Beluga relies on three key ingredients: 1) we encode lambda-terms together with their typing rules, operational semantics, algorithmic and declarative equality using higher-order abstract syntax thereby avoiding the need to manipulate and deal with binders, renaming and substitution ourselves. 2) we take advantage of Beluga’s support for representing derivations that depend on assumptions and first-class contexts to directly state inductive properties such as logical relations and inductive proofs 3) we exploit Beluga’s rich equational theory for simultaneous substitutions; as a consequence users do not need to establish and subsequently use substitution properties, and proofs are not cluttered with references to them. We believe these examples demonstrate that Beluga provides the right level of abstractions and primitives to mechanize challenging proofs using higher-order abstract syntax encodings. They also demonstrate how engaging and following Beluga’s framework of thinking about contextual objects, contexts, and context extensions sharpens our mathematical thought processes providing a uniform, Kripke-style perspective of logical relations proofs.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Flow Logic for Imperative Objects

We develop a control ow analysis for the Imperative Object Calculus. We prove the correctness with respect to two Structural Operational Semantics that diier in minor technical ways, and we show that the proofs deviate in major ways as regards their use of proof techniques like coinduction and Kripke-logical relations.

متن کامل

Logical aspects of logical frameworks

This thesis provides a model–theoretic semantic analysis of aspects of the LF logical framework. The LF logical framework is the λΠ-calculus together with the judgements-as-types representation mechanism. A denotational semantics is provided for the λΠ-calculus in terms of Kripke λΠ-models. These are a generalization of the Kripke lambda models of Mitchell and Moggi to dependent types and are b...

متن کامل

The Transitive Composability of Relation Transition Systems

Relation Transition Systems (RTSs) have recently been proposed as a foundation for reasoning effectively about program equivalence in higher-order imperative languages like ML. RTSs fruitfully synthesize the coinductive style of bisimulation-based methods with the treatment of local state in recent work on step-indexed Kripke logical relations (SKLRs). Like SKLRs, RTSs are designed to have the ...

متن کامل

Integrating Functional Programming Into C++: Implementation and Verification

We describe a parser-translator program that translates typed λ-terms to C++ classes so as to integrate functional programming. We prove the correctness of the translation with respect to a denotational semantics using Kripke-style logical relations.

متن کامل

Natural Deduction for Non-Classical Logics

We present a framework for machine implementation of families of non-classical logics with Kripke-style semantics. We decompose a logic into two interacting parts, each a natural deduction system: a base logic of labelled formulae, and a theory of labels characterizing the properties of the Kripke models. By appropriate combinations we capture both partial and complete fragments of large famili...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016